package com.jingyong.infosite.web;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import com.fasterxml.jackson.core.type.TypeReference;
import com.jingyong.infosite.entities.问题;
import com.jingyong.infosite.entities.问题选项;
import com.jingyong.infosite.service.ProblemsService;
import com.jingyong.infosite.util.JsonUtil;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

@RestController
@RequestMapping(path = "problems")
@Api("问题及停业数据")
public class ProblemsController {
	@Autowired
	private ProblemsService service;

	private static final String OPTIONS_JSON = "{\"数据时间\":[\"昨日\",\"近7日\",\"30日\",\"2017年12月\",\"2017年11月\",\"2017年10月\",\"2017年9月\",\"2017年8月\",\"2017年7月\"],\"标的验证\":[\"全部\",\"已验证标的\"],\"平台背景\":[\"全部\",\"民营系\",\"银行系\",\"上市系\",\"国资系\",\"风投系\"],\"投资期限\":[\"全部\",\"小于3个月\",\"3~6个月\",\"6~12个月\",\"12个月以上\"],\"平台收益\":[\"全部\",\"小于8%\",\"8%~10%\",\"10%~12%\",\"12%~16%\",\"16%以上\"],\"业务类型\":[\"全部\",\"个人信贷\",\"企业信贷\",\"车贷\",\"房贷\",\"供应链金融\",\"融资租赁\",\"票据\",\"艺术品质押\",\"农村金融\",\"消费金融\"],\"按维度\":[\"按成交量\",\"按人气\",\"按平台运营\",\"按分散性\"],\"按数据项\":[\"成交量\",\"平均参考收益率\",\"平均借款期限\",\"资金净流入\",\"待还余额\",\"满标用时\",\"注册资本\",\"运营时间\",\"借款标数\",\"投资人数\",\"人均投资金额\",\"前十大土豪待收金额占比\",\"借款人数\",\"人均借款金额\",\"前十大借款人待还金额占比\",\"发展指数排名\"]}";
	private static final String PROBLEMS_JSON = "{\"平台\":\"宜人贷\",\"投资人数\":\"135822\",\"满标用时\":\"1.47\",\"前十大土豪待收金额占比\":\"0.41\",\"人均投资金额\":\"0.17\"}";

	@ApiOperation(value = "查询问题及停业数据")
	@RequestMapping(path = "", method = RequestMethod.GET)
	public Object getProblems(@RequestParam String month) {
		return service.query(month);
	}

//	@RequestMapping(path = "options", method = RequestMethod.GET)
	public 问题选项 getOptions() {
		return JsonUtil.convertStringToBean(OPTIONS_JSON, 问题选项.class);
	}

//	@RequestMapping(path = "sample", method = RequestMethod.GET)
	public List<问题> sample(@RequestParam(required = false) 问题选项 q) {
		return JsonUtil.convertStringToBean(PROBLEMS_JSON, new TypeReference<List<问题>>() {
		});
	}
}
